package com.fowo.api.sys.rdp;

import com.fowo.api.sys.rdp.model.SearchRelDataPermissions;

/**
 * 关联数据权限服务
 * @author yl_ls
 */
public interface RelDataPermissionsService {
    /**
     * 获取和特定的查询参数类相关的关联数据权限配置
     * @param searchParamClassName 查询参数类
     * @return 关联数据权限列表
     */
    SearchRelDataPermissions getFormSearchParam(String searchParamClassName);

    /**
     * 获取搜索关联附加的过滤
     * @param searchRelDataPermissions 搜索关联数据权限信息
     * @param andPrefix 是否添加 And 前缀
     * @param currentUserId 当前用户编号
     * @return 需要添加的条件
     */
    String createWherePart(SearchRelDataPermissions searchRelDataPermissions, boolean andPrefix, Long currentUserId);

    /**
     * 在方法调用后处理可能的缓存清理操作
     * @param changeAop 调用过的方法签名
     */
    void afterMethodInvoke(String changeAop);
}
